package com.woniu.form;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.sql.Time;

@Data
public class InsertStoreForm {
    /**
     * 商铺名字
     */
    @Length(min = 1, max = 10, message = "店铺名称长度在1-10位之间")
    @NotNull(message = "店铺名称不能为空")
    private String storeName;

    /**
     * 商铺的所属者的用户id
     */
    @NotNull(message = "用户id不能为空")
    @Min(value = 1, message = "用户id必须为正整数")
    @Max(value = 999, message = "用户id不能超过3位")
    private Integer userId;

    /**
     * 商铺的所属者的名字
     */
    @Length(min = 1, max = 10, message = "商铺的所属者的名字长度在1-10位之间")
    @NotNull(message = "商铺的所属者的名字不能为空")
    private String userName;

    /**
     * 订餐电话
     */
    @NotNull(message = "手机号不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String phone;


    /**
     * 开始经营时间
     */
    @NotNull(message = "开始营业时间不能为空")
    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @ApiModelProperty("更改后的开始营业时间")
    private Time storeStartTime;

    /**
     * 结束经营时间
     */
    @NotNull(message = "结束营业时间不能为空")
    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @ApiModelProperty("更改后的结束营业时间")
    private Time storeEndTime;

    /**
     * 商铺简介
     */
    @Length(min = 1, max = 200, message = "商铺简介长度在1-10位之间")
    @NotNull(message = "商铺简介不能为空")
    private String storeIntro;

    /**
     * 营业许可
     */
    @NotNull(message = "营业许可不能为空")
    private String permit;
    /**
     * 卫生许可
     */
    @NotNull(message = "卫生许可不能为空")
    private String license;

}
